#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# @Project : chat_model 
# @File    : vector_store_schema.py
# @IDE     : PyCharm 
# @Author  :ZH
# @Time    : 2025/1/10 10:56
from typing import List, Optional

from pydantic import Field, BaseModel
from datetime import datetime

from apps.utils.enumerate import VectorStoreEnum


class BaseVectorStoreSchema(BaseModel):
    vector_store_name: str = Field(description='向量存储库名称', title='vector_store_name')
    vector_store_type: VectorStoreEnum = Field(description='向量存储库类型', title='vector_store_type')
    vector_store_address: str = Field(description='向量存储库地址', title='vector_store_address')
    vector_store_port: str = Field(description='向量存储库端口', title='vector_store_port')
    vector_store_user: str = Field(description='向量存储库用户名', title='vector_store_user')
    vector_store_password: str = Field(description='向量存储库密码', title='vector_store_password')
    vector_store_database: str = Field(description='向量存储库数据库', title='vector_store_database')
    vector_store_index: list = Field(description='向量存储库索引', title='vector_store_index')
    description: str = Field(description='描述', title='description')
    is_default: bool = Field(description='是否默认', title='is_default')


class CreateVectorStoreSchema(BaseModel):
    __doc__ = "创建向量存储库模式"


class UpdateVectorStoreSchema(BaseModel):
    __doc__ = "更新向量存储库模式"
